﻿//using System;
//using System.Collections.Generic;

//namespace MVCBootstrap.MongoDB.Localization {

//    public class MongoTextSource : TextSourceBase {
//        private readonly Func<IMongoCollection<TextChunk>> mongoFunc;

//        public MongoTextSource(Func<IMongoCollection<TextChunk>> mongoFunc) {
//            this.mongoFunc = mongoFunc;
//        }

//        public override IEnumerable<LocalizedText> Get() {
//            IMongoCollection<TextChunk> collection = this.mongoFunc();
//            IEnumerable<TextChunk> chunks = collection.GetCollection().FindAllAs<TextChunk>();

//            List<LocalizedText> output = new List<LocalizedText>();
//            foreach (TextChunk chunk in chunks) {
//                foreach (Text text in chunk.Texts) {
//                    foreach (Translation trans in text.Texts) {
//                        output.Add(new LocalizedText {
//                                        Namespace = chunk.Namespace,
//                                        Key = text.Key,
//                                        Language = trans.Language,
//                                        Pattern = trans.Text,
//                                        PatternDialect = trans.Dialect ?? "Default"
//                            });
//                    }
//                }
//            }

//            return output;
//        }

//        public override void Put(IEnumerable<LocalizedTextState> texts, TextMergeOptions options) {
//            // TODO:
//            throw new NotImplementedException();
//        }
//    }
//}